body {
    margin: 0;
    overflow-x: hidden;
    background-color: #FAF9F6;
    overflow: hidden;
}

/*Splash Page*/
.introPage {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    position: fixed;
    background-color: #161616;
    transition: 1s;
    width: 100%;
    height: 100vh;
    left: 0;
    top: 0;
    z-index: 2;
}

.introWrapper {
    position: absolute;
    top: 30%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: white;
    display: flex;
    overflow: hidden;
}

.animationContainer {
    display: flex;
    align-items: center;
    justify-content: center;
}

/*Actual Landing Page*/

.landingPageBody {
    background-image: linear-gradient(to right, #FAF9F6 15%, transparent 70%), url('../images/csgMain.png');
    background-size: cover;
    background-position: center right;
    background-attachment: fixed;
    position: relative;
    overflow: hidden;
    height: 100vh;
    z-index: 1;
}

.header{
    display: inline-block;
    position: fixed;
}

.socialContainer{
    display: flex;
    align-items: center;
    justify-content: flex-end;
    position: fixed;
    gap: 10px;
    top: 10px;
    right: 10px;
    padding-right: 10px;
    padding-top: 5px;
    z-index: 3;
    pointer-events: auto;
}

.socialContainer a img{
    width: max(30px,1.8vw);
    height: auto;
    opacity: .8;
    transition: opacity 0.3s ease-in-out;
}

.socialContainer a img:hover {
    opacity: .5; 
}

.landingPage {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    height: 100vh;
    position: relative;
    padding-right: 60%;
    z-index: 0;
    pointer-events: none;
}

.contentWrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    width: 100%;

}

/*Name Typing Out Styling and box*/

.shapeSection {
    position: fixed;
    /*margin-bottom:300px;*/
    height: max(240px, 17vw);
    width: max(240px, 17vw);
    text-align: center;
    transform: rotate(45deg) scale(1);
    border: 15px solid #acc8d7;
    display: flex;
    top: 10%;
    align-items: center;
    justify-content: center;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    z-index: 1;
    box-shadow: 0 0 4px grey;
}

#nameHeader {
    padding: 5vh 0 8vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    transform: rotate(-45deg) scale(1);
    text-align: center;
    font-size: 3vh;
    color: rgb(41, 41, 41);
    font-family: "Figtree", sans-serif;
    vertical-align: middle;
}

.typewriter {
    letter-spacing: 0.15em;
    white-space: nowrap;
    margin: 0 auto;
    overflow: hidden;
}

.typewriter::after {
    content: attr(data-text);
    display: inline-block;
    width: 0;
    white-space: nowrap;
    overflow: hidden;
    border-right: 0.15em solid transparent;
    animation: typing 1s steps(30, end) forwards;
}

@keyframes typing {
    /* Note: Leaving in border-right commented if ever desire blinking typing affect */
    from {
        width: 0;
        /*border-right: 0.15em solid transparent;*/
    }
    to {
        /*border-right: 0.15em solid transparent;*/
    }
    25% {
        /*border-right: 0.15em transparent;*/
    }
    50% {
        /*border-right: 0.15em solid transparent;*/
    }
    75% {
        /*border-right: 0.15em solid transparent;*/
    }
    100% {
        width: 100%;
        /*border-right: 0.15em solid transparent;*/
    }
}

.typewriter:nth-child(1)::after{
    animation-delay: 2.9s;
}
.typewriter:nth-child(2)::after{
    animation-delay: 4s;
}

#mainNavButtons {
    padding-top: 60%;
}

.buttonWrapper {
    display: flex;
    /*position: fixed;*/
    flex-direction: column;
    align-items: center;
    z-index: 2;
    pointer-events: auto;
}

.button {
    margin: 15px;
    padding: 0px 10vw;
    font-family: "Figtree", sans-serif;
    font-size: 2.3vh;
    max-width: 250px;
    height: 50px;
    line-height: 50px;
    font-weight: bold;
    text-decoration: none;
    background: transparent;
    text-align: center;
    color: black;
    letter-spacing: 1px;
    overflow: hidden;
    z-index: 1;
    transition: color 300ms ease-in-out;
    cursor: pointer;
    /*position: relative;*/
}

.button:after {
    content: '';
    position: absolute;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
    width: 0;
    height: 100%;
    z-index: -1;
}

.button:hover::after {
    width: 110%;
    -webkit-transition: width 300ms ease-in-out;
    transition: width 300ms ease-in-out;
}

.aboutMeButton:hover::after{
    background-color: #99BADD;
    width: 110%;
    position: absolute;
}

.resumeButton:hover::after{
    background-color: #7BC17E;
    width: 110%;
    position: absolute;
}

.projectButton:hover::after{
    background-color: #F49E78;
    width: 110%;
    position: absolute;
}

.button:hover {
    color: white;
    transform: scale(1.1);
}


@media only screen and (max-width: 600px) {

    .socialContainer a img{
        width: max(30px,1.8vw);
        height: auto;
        opacity: .5;
        transition: opacity 0.3s ease-in-out;
    }
    
    .socialContainer a img:hover {
        opacity: 1; 
    }

    .landingPage {
        padding-right: 0%;
    }

    .shapeSection {
        height: max(220px, 12vw);
        width: max(220px, 12vw);
    }

    .button {
        margin: 0px;
        padding: 0px 10vw;
        height: 40px;
        line-height: 40px;
    }
    
}

@media only screen and (max-width: 725px) {
    .button {
        margin: 5px;
    }
}

@media only screen and (max-height: 900px) {
    .shapeSection {
        height: max(205px, 17vw);
        width: max(205px, 17vw);
        border: 10px solid #acc8d7;
    }
}

@media only screen and (max-height: 725px) {
    .shapeSection {
        height: max(175px, 15vw);
        width: max(175px, 15vw);
        border: 10px solid #acc8d7;
    }
}

@media only screen and (max-height: 400px) {
    .shapeSection {
        height: max(110px, 12vw);
        width: max(110px, 12vw);
        border: 8px solid #acc8d7;
    }

    #mainNavButtons {
        padding-top: 35%;
    }
}
